package com.seecen.HJM.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.seecen.HJM.model.dto.CommentDTO;
import com.seecen.HJM.model.dto.CommentPlaylistDTO;
import com.seecen.HJM.model.dto.CommentSongDTO;
import com.seecen.HJM.model.dto.CommentSongDto2;
import com.seecen.HJM.model.entity.Comment;
import com.seecen.HJM.model.vo.CommentVo2;
import com.seecen.HJM.result.DataVo;
import com.seecen.HJM.result.PageResult;
import jakarta.validation.Valid;

import java.util.List;

/**
* @author jiachen
* @description 针对表【tb_comment】的数据库操作Service
* @createDate 2025-09-28 15:55:40
*/

public interface CommentService extends IService<Comment> {


    // 新增歌曲评论
    DataVo addSongComment(CommentSongDTO commentSongDTO);

    // 新增歌单评论
    DataVo addPlaylistComment(CommentPlaylistDTO commentPlaylistDTO);

    // 点赞评论
    DataVo likeComment(Long commentId);

    // 取消点赞评论
    DataVo cancelLikeComment(Long commentId);

    // 删除评论
    DataVo deleteComment(Long commentId);
    //获取所有评论
    DataVo<PageResult<Comment>> getAllComment(@Valid CommentDTO commentDTO);

    // 批量删除方法
    DataVo adminDeleteComment(List<Long> commentIds);

    // 获取歌曲评论列表
    DataVo<PageResult<CommentVo2>> getSongComments(CommentSongDto2 commentSongDto);

    // 删除歌曲评论
    DataVo deleteSongComment(Long commentId);
}

